1. Field of Invention
The present invention pertains to the field of image processing. More specifically, it pertains to the field of image smoothing by bilateral filtering.
2. Description of Related Art
The bilateral filter was originally proposed by Tomasi and Manduchi in Bilateral Filtering for Gray and Color Images, ICCV: Proceedings of the Sixth International Conference on Computer Vision, page 839, 1998, IEEE Computer Society, herein incorporated in its entirety by reference. Basically, the bilateral filter smooths an image while preserving edges by means of a nonlinear combination of nearby image values. The principle idea behind such a filtering operation is to combine information from the spatial domain as well as from a feature domain. It can be represented as
                              h          ⁡                      (            x            )                          =                              1                          k              ⁡                              (                x                )                                              ⁢                                    ∑                              y                ∈                                  Ω                  x                                                      ⁢                                                            f                  s                                ⁡                                  (                                      x                    ,                    y                                    )                                            ⁢                                                g                  r                                ⁡                                  (                                                            I                      ⁡                                              (                        x                        )                                                              ,                                          I                      ⁡                                              (                        y                        )                                                                              )                                            ⁢                              I                ⁡                                  (                  y                  )                                                                                        (        1        )            where I and h are the input and output images respectively, x and y are pixel locations over an image grid, Ωx is the neighborhood induced around the central pixel x, fs(x,y) measures the spatial affinity between pixels at x and y (i.e. the spatial domain, and may be thought of as a spatial filter) and gr(I(x),I(y)) denotes the feature/measurement/photometric affinity (i.e. the feature domain, and may be thought of as a range filter). Parameter k(x) is the normalization term given by
                              k          ⁡                      (            x            )                          =                              ∑                          y              ∈                              Ω                x                                              ⁢                                                    f                s                            ⁡                              (                                  x                  ,                  y                                )                                      ⁢                                          g                r                            ⁡                              (                                                      I                    ⁡                                          (                      x                      )                                                        ,                                      I                    ⁡                                          (                      y                      )                                                                      )                                                                        (        2        )            The spatial and range filters (f and g, respectively), are commonly set to be Gaussian filters, as follows:
                                          f            s                    ⁡                      (                          x              ,              y                        )                          =                  exp          (                                    -                                                                                      x                    -                    y                                                                    2                2                                                    2              ⁢                                                          ⁢                              σ                s                2                                              )                                    (        3        )                                                      g            r                    ⁡                      (                          u              ,              v                        )                          =                  exp          (                                    -                                                                                      u                    -                    v                                                                    2                2                                                    2              ⁢                                                          ⁢                              σ                r                2                                              )                                    (        4        )            parameterized by the variances σs and σr. The range filter, g, penalizes distance in the feature space and hence the filter has an inherent edge preserving property. Due to this property, the bilateral filter, as an edge-preserving filter, has been one of the most widely used filtering techniques within computer vision community.
The bilateral filter is a non-linear filter (making it a computationally intensive operation) and, as such, many researchers have proposed techniques to decompose the non-linear, bilateral filter into a sum of separate one-dimensional filters or similar cascaded representations. Singular value decomposition of the 2D kernel is one such technique. Another proposed technique is an approximation of the bilateral filter by filtering sub-sampled copies of an image with discrete intensity kernels, and recombining the results using linear interpolation.
Recently the run-time of the bilateral filter has been identified as a critical bottleneck, and a few techniques have been proposed that render the filtering operation at an almost constant time, albeit with larger space requirements and behavioral approximations.
The research into improving the performance of the bilateral filter heavily relies on the form of the filter, which is applied in a range domain as well as the spatial domain. One method can be entirely broken down to an approximation of a product of a box filter for smoothing and a polynomial or fourth order Taylor series approximation of a Gaussian kernel. However, when the form of the filter is changed, such methods cannot be applied for the promised increased in speed.
It is an object of the present invention to provide a filter that provides similar image smoothing and edge preserving properties as a bilateral filter, but which is less constrained by nonlinear combination of image values.
It is a further object to provide of the present invention to provide a filter that provides similar image smoothing and edge preserving properties as a bilateral filter, but which lends itself to increased implementation optimizations.
It is a further object of the present invention to provide a filter that not only provides similar image smoothing and edge preserving properties as a bilateral filter, but also provides additional image optimization properties.